package com.ruoyi.common.core.domain;

import java.util.HashMap;
import java.util.Objects;

import com.ruoyi.common.core.domain.AjaxResult.Type;

/**
 * 操作消息提醒
 *
 * @author ruoyi
 */
public class CmdResult extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;

	/** 状态码 */
	public static final String CODE_TAG = "code";

	/** 返回内容 */
	public static final String MSG_TAG = "msg";

	/** 数据对象 */
	public static final String ERROR_MSG_TAG = "error";
	
	/** code返回为0 */
	public static final int SUCCESS = 0;

	/**
	 * 初始化一个新创建的 AjaxResult 对象，使其表示一个空消息。
	 */
	public CmdResult() {
	}

	public CmdResult(int code, String msg) {
		super.put(CODE_TAG, code);
		super.put(MSG_TAG, msg);
	}

	/**
	 * 初始化一个新创建的 AjaxResult 对象
	 *
	 * @param type 状态类型
	 * @param msg  返回内容
	 */
	public CmdResult(int code, String msg, String error) {
		super.put(CODE_TAG, code);
		super.put(MSG_TAG, msg);
		super.put(ERROR_MSG_TAG, error);
	}
	
	public boolean isSuccess()
    {
        return Objects.equals(CmdResult.SUCCESS, this.get(CODE_TAG));
    }
	public String getResult()
    {
        if( super.get(MSG_TAG) != null) {
        	return super.get(MSG_TAG).toString();
        }else {
        	return null;
        }
    }

	/**
	 * 方便链式调用
	 *
	 * @param key   键
	 * @param value 值
	 * @return 数据对象
	 */
	@Override
	public CmdResult put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}
